class_name CardState
extends Node

enum State {
	STATE_HOVER,
	STATE_IN_HAND,
	STATE_PICKUP,
	STATE_DISCARD,
	STATE_RELEASE,
	STATE_TROPHY_SELECT,
	STATE_TEMPORARY_STORAGE,
	STATE_CARD_SELECTED
}

signal transition_requested(from: CardState, to: State)

@export var state: State
var card_view: CardView


func enter() -> void:
	pass


func exit() -> void:
	pass


func on_mouse_entered() -> void:
	pass


func on_mouse_exited() -> void:
	pass


func on_card_select() -> void:
	pass


func on_card_release() -> void:
	pass


func update_transform(_in_hand_rotation, _in_hand_position, _in_hand_hover_position) -> void:
	pass
